var net = require('net');
var client = new net.Socket();
client.setEncoding("utf8");
client.connect(300, "localhost", function() {
    console.log('启动客户1连接服务端tcp服务成功');
    client.write("后端客户1连接服务成功");
});
// new Buffer(str, [encoding])
// client.write("后台发送数据")
// 客户端创建
client.on("data", function(data) {
    let hex16 = Bytes2HexString(data);
    console.log('客户1收到服务端字符数据：' + data);
    console.log('客户1收到服务端16数据：' + hex16);
    // var chunks = [];
    // var size = 0;
    // chunks.push(data);
    // size += data.length;
    // var buf = Buffer.concat(chunks, size);
    // var str = iconv.decode(buf, 'utf8');
    // console.log("bufer字符串数据：", str);
});


//获取十六进制数据处理
const Bytes2HexString = (b) => {
    let hexs = "";
    for (let i = 0; i < b.length; i++) {
        let hex = b[i].toString(16);
        if (hex.length === 1) {
            hexs = "0" + hex;
        }
        hexs += hex.toUpperCase();
    }
    return hexs;
};
client.on('end', function() {
    console.log("net结束")
});




// 服务端创建
var net = require('net');
var server = net.createServer(function(socket) {
    // server.setEncoding("utf8");
    //新的连接；
    server.on('data', function(params) {
        console.log("服务1收到客户端数据", params)
    })
    socket.on('data', function(data) {
        socket.write("你好，收到客户端连接请求数据，");
    });
    socket.on('end', function(data) {
        console.log('连接断开');
    });
    socket.write("朋友，我启动了TCP服务，你好.\n");
});
server.listen(302, function() {
    console.log('启动服务1并绑定服务器302端口');
});



// 客户端连接
var net = require('net');
var client2 = net.connect({ port: 300 }, function() {
    console.log('客户端2连接服务器已连接');
    client2.setEncoding("utf8");

});
client2.on('data', function(data) {
    console.log("客户端2收到字节数据:", data);
    console.log("客户端2收到字符数据:", data.toString());
    // client3.end();
});
client2.on('end', function() {
    console.log('客户端2关闭');
});



// 客户端连接
var net = require('net');
var client3 = net.connect({ port: 302 }, function() {
    console.log('客户端3连接服务器已连接');
    client3.setEncoding("utf8");

});